#!/bin/bash

# 获取用户的硬盘设备
# lsblk

# 获取用户boot分区要使用的硬盘及大小
# read -p "请输入boot分区要使用的硬盘及分区大小（例如：sda 1G）默认大小为1G：" boot_disk boot_size

# 创建硬盘boot分区
# if [ -z "$boot_size" ]; then
#     boot_size="1G"
# fi
# parted -s "/dev/$boot_disk" mklabel gpt mkpart primary 1MiB $boot_size set 1 boot

# 格式化boot分区
# mkfs.fat -F 32 "/dev/${boot_disk}p1"

# 获取用户根分区要使用的硬盘及大小
# read -p "请输入根分区要使用的硬盘及分区大小（例如：sda 1G）默认大小为设备的全部大小：" root_disk root_size

# 创建硬盘根分区
# if [ -z "$root_size" ]; then
#     root_size="100%"
# fi
# parted -s "/dev/$root_disk" mkpart primary $boot_size $root_size | exit 1

# 格式化根分区
# mkfs.ext4 "/dev/${root_disk}p2"

# 挂载根分区
# mount "/dev/${root_disk}p2" /mnt | exit 1

# 挂载boot分区
# mkdir /mnt/boot
# mount "/dev/${boot_disk}p1" /mnt/boot | exit 1
# lsblk

# 更换镜像源
# cp pacman.conf /etc/pacman.conf -f
# cp mirrorlist /etc/pacman.d/mirrorlist -f

# 更新镜像站
reflector --country 'China' > /etc/pacman.d/mirrorlist

# 安装基本系统
echo "安装基本系统"
pacstrap -K /mnt base linux-lts linux-firmware reflector

# 安装常用软件
echo "安装常用软件"
pacstrap -K /mnt base-devel vi vim nano man-db man-pages texinfo

# 安装网络软件
echo "安装网络软件"
pacstrap -K /mnt networkmanager modemmanager usb_modeswitch openssh git

# 安装引导程序
echo "安装引导程序"
pacstrap -K /mnt intel-ucode grub efibootmgr

# 安装其他程序
echo "安装其他程序"
pacstrap -K /mnt neofetch bash-completion bashtop

# 生成 fstab
genfstab -U /mnt >>/mnt/etc/fstab

# 将配置复制到新系统
cp ../archlinux /mnt/root -R

# 切换到新系统
arch-chroot /mnt

# 卸载分区
umount -R /mnt

# 重启
reboot
